#ifndef __CONTROLLER_3D_H__
#define __CONTROLLER_3D_H__

#include "controller.h"
#include "view/perspective_view.h"
#include "model/perspective_model.h"

class Controller3D : public Controller{
	private:
		Point dragPos;
		bool drag;
		unsigned int pathId;
		unsigned int tickCount;
		static const unsigned int tickSize = 46; // mseg
		static const float localTimer;
	public:
		Controller3D(View* view,Model* model);
		~Controller3D();

		void display();

		void mouseMotion(float x ,float y);

		void reshape(float w,float h);

		void mousePressed(int key,int state,float x ,float y);

		void keyboard(unsigned char key,float x ,float y);

		void notifyViewportLeave();

		void timer(int value);
};

#endif //__CONTROLLER_3D__H__
